package com.vote.common.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;

import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import lombok.experimental.Tolerate;

/**
 * <p>
 * 投票项目表
 * </p>
 *
 * @author gyg
 * @since 2021-05-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Builder
public class VoteProject implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 投票发起用户id
     */
    private Integer userId;

    /**
     * 投票项目名称
     */
    private String projectName;

    /**
     * 投票是否匿名，0=匿名投票无需登录，1=登录后参与投票
     */
    private Integer projectPublic;

    /**
     * 投票项目类型，0=单选，1=多选
     */
    private Integer projectChoice;

    /**
     * 每人每天投票次数
     */
    private Integer projectRule;

    /**
     * 投票活动封面
     */
    private String projectImg;

    /**
     * 活动描述
     */
    private String projectDesc;

    /**
     * 活动状态（1=活动未开始，2=活动进行中，3=活动已关闭）
     */
    private Integer projectStatus;

    /**
     * 投票展示形式（0=计数制展示，1=百分比展示）
     */
    private Integer projectShow;

    /**
     * 选项数
     */
    private Integer projectOption;

    /**
     * 投票数
     */
    private Integer projectVote;

    /**
     * 浏览量
     */
    private Integer projectView;

    /**
     * 项目投票开始时间，时间格式yyyy-MM-dd HH:mm:ss
     */
    private String projectStart;

    /**
     * 项目投票结束时间，时间格式yyyy-MM-dd HH:mm:ss
     */
    private String projectEnd;

    /**
     * 创建时间
     */
    private LocalDateTime createdDate;

    /**
     * 修改时间
     */
    private LocalDateTime modifiedDate;

    /**
     * 删除标记：0=正常;1=已删除;2=彻底删除
     */
    private Integer deleted;

    @Tolerate
    public VoteProject () {}

}
